<?php

/**
* alltosun.com  email.php
* ============================================================================
* 版权所有 (C) 2009-2013 北京互动阳光科技有限公司，并保留所有权利。
* 网站地址: http://www.alltosun.com
* ----------------------------------------------------------------------------
* 许可声明：这是一个开源程序，未经许可不得将本软件的整体或任何部分用于商业用途及再发布。
* ============================================================================
* $Author: 钱有明 (qianym@alltosun.com) $
* $Date: 2014-2-22 上午11:38:51 $
* $Id$
*/

class Action
{
    private $user_id;

    public function __construct()
    {
        $this->user_id = user_helper::get_user_id();
    }

    public function __call($action = '', $params = array())
    {
        $id = (int)$action;
        if (!$id) {
            return '请选择要查看的邮件';
        }

        if (!$this->user_id) {
            return '请保持ACE为登录状态';
        }


        $info = _uri('queue_email', $id);
        if (!$info) {
            return '该邮件不存在';
        }
        if ($info['to_user_id'] != $this->user_id) {
            return '你无权查看该邮件';
        }

        Response::assign('info', $info);

        Response::display('email_detail.html');
    }

    /**
     * 取邮件信息（for chrome扩展）
     */
    public function index()
    {
        if (!$this->user_id) {
            $this->_output('你尚未登录');
        }
        /* $user_email = AnFilter::filter_string(Request::getParam('user_email'));
        if (!$user_email) {
            $this->_output('用户名不存在');
        } */
        $user_id = Request::getParam('user_id', 0);
        if (!$user_id) {
            $this->_output('该用户不存在');
        }
        if ($user_id != $this->user_id) {
            $this->_output('无权查看他人的邮件');
        }

        $filter = array(
                    'to_user_id' => $user_id,
                    'is_noticed'  => 0
                );
        $count = _model('queue_email')->getTotal($filter);
        if (!$count) {
            $this->_output('没邮件了');
        }

        $list = _model('queue_email')->getList($filter, ' ORDER BY `id` ASC LIMIT 0,6');
        foreach ($list as $k=>$v) {
            if (!$v) {
                continue;
            }

            $reg = '/<p\s+class="task-tit\s+margin-b15">(.+)<\/p>/u';
            $flag = preg_match_all($reg, $v['content'], $matches);
            if ($flag && isset($matches[1]) && $matches[1]) {
                $unique_arr = array_unique($matches[1]);
                foreach($unique_arr as $k1=>$v1) {
                    $list[$k]['intro'] = $v1;
                }
            } else {
                $list[$k]['intro'] = '';
            }
            _model('queue_email')->update($v['id'], array('is_noticed'=>1));
        }

        $this->_output(array('info'=>'ok', 'data'=>$list));
    }

    private function _output($info)
    {
        if (is_array($info)) {
            exit(json_encode($info));
        } else {
            exit(json_encode(array('info'=>$info)));
        }
    }
}
?>